Bubbles

interface Bubbles

This module is used to manage bubbles.

A bubble is also called a room. This is exactly the same object.

Types

Link copied to clipboard
object Companion
Link copied to clipboard
Link copied to clipboard
fun interface IRoomFoundListener
Link copied to clipboard

Properties

Link copied to clipboard
abstract val totalBubblesAvailable: Int

Get the total available bubbles corresponding to the last refresh request.

Functions

Link copied to clipboard
abstract suspend fun acceptAllUsersInLobby(roomId: String): RainbowResult<Unit>

Accept all participants that are waiting in the lobby of a Room.

Link copied to clipboard
abstract suspend fun acceptInvitation(room: IRainbowRoom): RainbowResult<RoomParticipant>

Accept an invitation to join a bubble.

Link copied to clipboard
abstract suspend fun acceptUsersInLobby(roomId: String, userIds: List<String>): RainbowResult<Unit>

Accept a list of participants that are waiting in the lobby of a Room.

Link copied to clipboard
abstract suspend fun activateRoomLobby(roomId: String): RainbowResult<Unit>

Activate the lobby feature on a Room.

Link copied to clipboard
abstract suspend fun addParticipantsAndStartConference(currentCall: WebRTCCall, participants: List<IRainbowContact>): RainbowResult<Unit>

Escalate a P2P call to a conference by adding participants

Link copied to clipboard
abstract suspend fun addParticipantsToBubble(room: IRainbowRoom, contactsList: List<IRainbowContact>): RainbowResult<Unit>

Add a list of participants to a bubble with invitations and as users.

abstract suspend fun addParticipantsToBubble(    room: IRainbowRoom,     contactsList: List<IRainbowContact>,     asModerators: Boolean,     withInvitations: Boolean): RainbowResult<Unit>

Add a list of participants to a bubble.

Link copied to clipboard
abstract suspend fun addParticipantToBubble(room: IRainbowRoom, contact: IRainbowContact): RainbowResult<Unit>

Add one participant to a bubble with invitation and as a user.

abstract suspend fun addParticipantToBubble(    room: IRainbowRoom,     contact: IRainbowContact,     asModerator: Boolean,     withInvitation: Boolean): RainbowResult<Unit>

Add one participant to a bubble.

Link copied to clipboard
abstract suspend fun applyAutomaticClearSettings(roomId: String, contentToAutoClear: ContentToAutoClear): RainbowResult<IRainbowRoom>
Link copied to clipboard
abstract suspend fun archiveBubble(room: IRainbowRoom): RainbowResult<IRainbowRoom>

Archive a bubble, Two possible cases:

Link copied to clipboard
abstract suspend fun checkBubbleOwner(room: IRainbowRoom, contact: IRainbowContact): RainbowResult<Unit>

Check if the given contact can be used for changing the owner of the Bubble

Link copied to clipboard
abstract suspend fun checkOpenInviteId(openInviteId: String): RainbowResult<Unit>

Check if the given openInviteId is still valid and can be used to join a bubble.

Link copied to clipboard
abstract suspend fun clearContent(roomId: String, clearContentBody: ClearContentBody): RainbowResult<Unit>
Link copied to clipboard
abstract suspend fun createBubble(body: CreateRoomBody): RainbowResult<IRainbowRoom>

Create a bubble

Link copied to clipboard
abstract suspend fun deactivateRoomLobby(roomId: String): RainbowResult<Unit>

Deactivate the lobby feature on a Room.

Link copied to clipboard
abstract suspend fun deleteAllCustomDataForBubble(room: IRainbowRoom): RainbowResult<IRainbowRoom>

Delete all the customData of a bubble.

Link copied to clipboard
abstract suspend fun deleteBubble(room: IRainbowRoom): RainbowResult<Unit>

Delete a bubble

Link copied to clipboard
abstract suspend fun deleteParticipantFromBubble(room: IRainbowRoom, contact: IRainbowContact, keepArchive: Boolean): RainbowResult<Unit>

Delete one participant from a bubble.

Link copied to clipboard
abstract suspend fun deleteRoomAvatar(roomId: String): RainbowResult<Unit>

Delete the photo of the specified room.

Link copied to clipboard
abstract suspend fun demoteAllModeratorsToMembers(roomId: String): RainbowResult<Unit>

Set the privilege of all participants to user (demote).

Link copied to clipboard
abstract suspend fun denyAllUsersInLobby(roomId: String): RainbowResult<Unit>

Deny all participants that are waiting in the lobby of a Room.

Link copied to clipboard
abstract suspend fun denyUsersInLobby(roomId: String, userIds: List<String>): RainbowResult<Unit>

Deny a list of participants that are waiting in the lobby of a Room.

Link copied to clipboard
abstract suspend fun fetchBubbleTagSuggestions(): RainbowResult<List<RoomTag>>

Fetch all tags from all users Bubbles at server side

Link copied to clipboard
abstract fun findBubbleById(roomId: String?): Room?

Get a bubble from its id.

Link copied to clipboard
abstract fun findBubbleByJid(roomJid: String?): Room?

Get a bubble from its jid.

Link copied to clipboard
abstract fun getAllBubbles(): ArrayItemList<Room>

Get all bubbles (including archived and pending).

Link copied to clipboard
abstract fun getAllInactiveBubbles(): List<Room>

Get user's inactive bubbles.

Link copied to clipboard
abstract fun getAllList(): List<Room>

Get all bubbles except pending, archived and inactive.

Link copied to clipboard
abstract fun getAllLobbies(): Map<String, List<RoomParticipant>>

Get the list of participants who are waiting in all the lobbies among all rooms you're in.

Link copied to clipboard
abstract fun getArchivedList(): List<Room>

Get archived bubbles.

Link copied to clipboard
abstract suspend fun getDialInNumbers(): RainbowResult<RoomService.DialInNumbers>

Retrieve all available numbers for dial in feature.

Link copied to clipboard
abstract fun getMyList(): List<Room>

Get bubbles owned by the connected user.

Link copied to clipboard
abstract fun getPendingInactiveList(): List<Room>

Get pending inactive bubbles.

Link copied to clipboard
abstract fun getPendingList(): List<Room>

Get pending bubbles.

Link copied to clipboard
abstract suspend fun getPublicLinkForBubble(room: IRainbowRoom): RainbowResult<OpenInvite>

Get the public link for a given bubble.

Link copied to clipboard
abstract suspend fun getRoomData(room: IRainbowRoom): RainbowResult<IRainbowRoom?>

Let you refresh a bubble

Link copied to clipboard
abstract suspend fun getRoomPublicData(openInviteId: String): RainbowResult<RoomPublicDataResponse>

Get the public data of a Room even if you're no a member.

Link copied to clipboard
abstract suspend fun getSharingEmail(room: Room, language: String?): RainbowResult<String>

Request server to generate email content for sharing a bubble.

Link copied to clipboard
abstract fun getUserLobbies(): List<RoomUserLobby>

Get the list of "user lobbies" where the user joined a room with waiting room activated.

Link copied to clipboard
abstract suspend fun getUserQuotaConsumption(): RainbowResult<Consumption>

Get a Consumption object which allows to get the current bubble quota and consumption for the connected user

Link copied to clipboard
abstract fun getUsersInLobby(roomId: String): List<RoomParticipant>?

Get the list of participants who are waiting in the lobby of a Room.

Link copied to clipboard
abstract suspend fun hasInactiveBubbles(): RainbowResult<Boolean>

Allow to know if the connected user has some inactive bubbles

Link copied to clipboard
abstract suspend fun hideUserLobby(roomId: String): RainbowResult<Unit>

Hide the user lobby notification.

Link copied to clipboard
abstract suspend fun inviteGuestsToBubble(room: IRainbowRoom, guests: List<String>): RainbowResult<Map<String, String>>

Add guests to a bubble with invitation

Link copied to clipboard
abstract suspend fun inviteUsersToBubble(    room: IRainbowRoom,     contactsList: List<IRainbowContact>,     privilege: RoomParticipantPrivilege = RoomParticipantPrivilege.USER): RainbowResult<Map<String, String>>

Invite a list of participants to a bubble.

Link copied to clipboard
abstract suspend fun joinBubbleByPublicLink(openInviteId: String): RainbowResult<IRainbowRoom?>

Let the user join a shared Bubble with the id from its public link. The IRainbowRoom object in the listener can be null if the the Bubble has an access control restriction.

Link copied to clipboard
abstract suspend fun leaveBubble(room: IRainbowRoom): RainbowResult<Unit>

Leave a room.

Link copied to clipboard
abstract suspend fun leaveUserLobby(roomId: String): RainbowResult<Unit>

Leave the user lobby.

Link copied to clipboard
abstract fun loadAllBubblesParticipantIfNeeded(room: Room)

By default, only active or invited participants are loaded in a Bubble. To get others, this method will load them if not already done

Link copied to clipboard
abstract suspend fun mergeCalls(calls: List<WebRTCCall>): RainbowResult<Unit>

Merge several phone calls (P2P or PBX calls) into a conference.

Link copied to clipboard
abstract suspend fun promoteAllMembersToModerators(roomId: String): RainbowResult<Unit>

Set the privilege of all participants to moderator (promote).

Link copied to clipboard
abstract suspend fun readUserLobby(roomId: String): RainbowResult<Unit>

Mark the user lobby notification as read.

Link copied to clipboard
abstract suspend fun refreshActiveBubbles(    offset: Int,     limit: Int,     sortField: String = "lastActivityDate",     sortOrder: Int = 1): RainbowResult<List<IRainbowRoom>>

Refresh all active bubbles from server.

Link copied to clipboard
abstract suspend fun refreshAllInvitedBubbles(): RainbowResult<List<IRainbowRoom>>

Refresh all invited bubbles from server. Limited to 500 bubbles.

Link copied to clipboard
abstract suspend fun refreshArchivedBubbles(    offset: Int,     limit: Int,     sortField: String = "lastActivityDate",     sortOrder: Int = 1): RainbowResult<List<IRainbowRoom>>

Refresh all archived bubbles from server. Limited to 500 bubbles.

Link copied to clipboard
abstract suspend fun refreshInactiveBubbles(    offset: Int,     limit: Int,     sortField: String = "lastActivityDate",     sortOrder: Int = 1): RainbowResult<List<IRainbowRoom>>

Refresh all inactive bubbles from server.

Link copied to clipboard
abstract suspend fun refreshMyBubbles(    offset: Int,     limit: Int,     sortField: String = "lastActivityDate",     sortOrder: Int = 1): RainbowResult<List<IRainbowRoom>>

Refresh all user bubbles from server. Limited to 500 bubbles.

Link copied to clipboard

Registers to all changes on any lobby, either the ones you manage or those you joined.

Link copied to clipboard

Registers to all changes on public link (activation/deactivation) of your bubbles.

Link copied to clipboard
abstract suspend fun rejectInvitation(room: IRainbowRoom): RainbowResult<RoomParticipant>

Reject an invitation to join a bubble.

Link copied to clipboard
abstract suspend fun resetBubbleByLink(bubbleId: String): RainbowResult<OpenInvite>

Reset the link for sharing a bubble.

Link copied to clipboard
abstract suspend fun resetBubbleDialInCode(room: Room): RainbowResult<String>

Reset the dialInCode for sharing a bubble by number.

Link copied to clipboard
abstract suspend fun searchRooms(search: String, roomSearchCriteria: RoomSearchCriteria): RainbowResult<List<IRainbowRoom>>

Let you search Bubbles with specific criteria.

Link copied to clipboard
abstract suspend fun setParticipantPrivilegeToModerator(room: IRainbowRoom, contact: IRainbowContact): RainbowResult<RoomParticipant>

Set the privilege of a participant to moderator (promote).

Link copied to clipboard
abstract suspend fun setParticipantPrivilegeToUser(room: IRainbowRoom, contact: IRainbowContact): RainbowResult<RoomParticipant>

Set the privilege of a participant to user (demote).

Link copied to clipboard
abstract suspend fun shareBubbleByLink(bubbleId: String): RainbowResult<OpenInvite>

Share the bubble by public link.

Link copied to clipboard
abstract suspend fun shareBubbleByNumber(room: Room): RainbowResult<String>

Share the bubble by number.

Link copied to clipboard
abstract suspend fun stopSharingBubbleByLink(bubbleId: String): RainbowResult<OpenInvite>

Deactivate the sharing of the bubble by public link.

Link copied to clipboard
abstract suspend fun stopSharingBubbleByNumber(room: Room): RainbowResult<Unit>

Deactivate the sharing of the bubble by number.

Link copied to clipboard

Unregisters to all changes on any lobby, either the ones you manage or those you joined.

Unregisters to all changes on public link (activation/deactivation) of your bubbles.

Link copied to clipboard
abstract suspend fun updateBubble(room: IRainbowRoom, body: CreateRoomBody): RainbowResult<IRainbowRoom>

Update a bubble

Link copied to clipboard
abstract suspend fun updateBubbleTags(tags: List<RoomTag>, room: IRainbowRoom): RainbowResult<List<RoomTag>>

Add, update or delete tags for a specified Room

Link copied to clipboard
abstract suspend fun updateCustomDataForBubble(room: IRainbowRoom, customData: JSONObject): RainbowResult<IRainbowRoom>

Update the customData of a bubble.

Link copied to clipboard
abstract suspend fun uploadRoomAvatar(room: IRainbowRoom, photoFile: File): RainbowResult<Unit>

change Photo of Meeting